/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package beans;

import bc.DocenteFacadeLocal;
import be.Docente;
import be.TipoDocente;
import java.io.Serializable;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

/**
 *
 * Sistema de Control Acádemico (saca) creado por Buñay Paulo
 */
@SessionScoped
@ManagedBean
public class ManagedBeanDocente implements Serializable{
    @EJB
    private DocenteFacadeLocal docenteFacade;
private Docente docente;
private List<Docente> lista ;


       private List<SelectItem> docentesItems = new LinkedList<SelectItem>();
private HashMap<Integer, Docente> mydocentes = new HashMap<Integer,Docente>();

    public ManagedBeanDocente() {
        docente = new Docente();
        lista= new LinkedList<Docente>();
    }

    public Docente getDocente() {
        return docente;
    }

    public void setDocente(Docente docente) {
        this.docente = docente;
    }

    public List<Docente> getLista() {
        try {
            lista = docenteFacade.findAll();
        } catch (Exception e) {
        }
        return lista;
    }

    public void setLista(List<Docente> lista) {
        this.lista = lista;
    }

    public List<SelectItem> getDocentesItems() {
               lista = new LinkedList<Docente>();
        docentesItems = new LinkedList<SelectItem>();
        lista = docenteFacade.findAll();
        for(Docente p: lista){
        mydocentes.put(p.getIdDocente(), p);
         docentesItems.add(new SelectItem(p, p.getNombreDocente()));
        }
        return docentesItems;
    }

    public void setDocentesItems(List<SelectItem> docentesItems) {
        this.docentesItems = docentesItems;
    }

    public HashMap<Integer, Docente> getMydocentes() {
        return mydocentes;
    }

    public void setMydocentes(HashMap<Integer, Docente> mydocentes) {
        this.mydocentes = mydocentes;
    }

    
    
    public String nuevo(){
     docente = new Docente();
     return "nuevo_docente";
}
   
    public Docente getDocente(Integer id) {
           return (Docente) mydocentes.get(id);

    }
public String crear_nuevo_docente(){
    try {
        docenteFacade.create(docente);
    } catch (Exception e) {
        e.printStackTrace();
    }
   
return "docentes?faces-redirect=true";

}

public List<Docente> completar_filtrado_Docente(String nombre) {
  lista = new LinkedList<Docente>();
  for(Docente p : docenteFacade.findAll()){
  
  mydocentes.put(p.getIdDocente(), p);
    if (p.getNombreDocente().toUpperCase().indexOf(nombre.toUpperCase())!=-1){
    lista.add(p);
    
    }
    }
       return lista;
    }
}
